package dominio;

/*
 * Controlador Modalitat. Funcions per Tauler
 */

/*
 *  - creaPartida()
        - crea tauler
        - crea jugadors
        - tornJug = getTorn()
 - creaPredefinida()
        - crea tauler(t)
        - crea jugadors
        - tornJug = getTorn()
 - carregaPartida()  
        - carregarTot
 * */

public class CtrlPartida{
	private CtrlConfiguracio ctrlConf;
	private Tauler tauler;
	private CtrlJoc ctrlJoc;
	private Jugador jugador1;
	private Jugador jugador2;
    //private CtrlDades ctrldades;

	public CtrlPartida() {
		this.ctrlConf = new CtrlConfiguracio();
		this.ctrlJoc = new CtrlJoc();
		this.jugador1 = new Jugador(); 
		this.jugador2 = new Jugador(); 
//		this.ctrldades = new CtrlDades();
	}
	
	public int getMida(){
		return ctrlConf.getMida();
	}

	public void creaPartida() {
		int mida = ctrlConf.getMida();
	    
	    //crea el tauler
	    this.tauler = new Tauler();
	    tauler.creaTaulerNet(this.getMida());
	    
	    this.creaJugadors();
	    ctrlJoc.setTornjug(ctrlConf.getTorn());
	        
	}
	
	public void creaPredefinida(int[][] tau) {
	    //crea i comprova el tauler. Com es passen els valors de les caselles?
	    this.tauler = new Tauler();
	    tauler.creaTaulerPle(this.getMida(), tau);

	    this.creaJugadors();
	    ctrlJoc.setTornjug(ctrlConf.getTorn());
	}
	
	
	public void creaJugadors(){
		int nivell1, nivell2;
	    switch(ctrlConf.getModalitat()){
	    case 0:
	    	this.jugador1.creaJugador();
	    	this.jugador2.creaJugador();
	    	break;
	    case 1:
	    	nivell1 = ctrlConf.getNivell1();
	    	this.jugador1.creaJugador();
	    	this.jugador2.creaJugador(nivell1);
	    	break;
	    case 2:
	    	nivell1 = ctrlConf.getNivell1();
	    	nivell2 = ctrlConf.getNivell2();
	    	this.jugador1.creaJugador(nivell1);
	    	this.jugador2.creaJugador(nivell2);
	    	break;
	    }

	}
	
	public void carregaPartida() {
		
	}  


}
